モバイル向けの新機能「Mobile Hub」を使ってみた #reinvent
Mobile Hub
本日リリースされた Mobile Hub。AWS のサービスのリソースをモバイル向けに素早く作成してくれる、とっても便利なサービスです。
早速使ってみました!
アプリの作成
まず、Management Console から Mobile Hub をクリック。初めにアクセスした場合は下図のようにコーチマークが出ます。
アプリ名を決めます。
使いたい機能を選択します。選択すると機能の詳細設定画面に飛びます。今回はとりあえず User Sign-In を試します。
Sign-In の種類を選択します。Sign-in is optional は匿名ユーザーが有効になり、Sign-in is required は何かしらでサインインしないと使えないようになります。
今回は Sign-in is optional にしました。利用するプロバイダを選択できます。現在は、Facebook かカスタムしか選択できません。
Facebook を選択すると Facebook のアプリIDが求められます。適宜作成し、IDを設定しましょう。
紫になると設定完了の証です。Configure more feature を選ぶと、そのまま続けて別の機能の設定を行い、Build your app を選択するとここまでの機能の設定でソースコードをダウンロードできます。
続けて、App Content Delivery を使ってみましょう。
Single location は S3 バケットを直接利用するような構成になり、Global CDN は S3 + CloudFront の構成になります。今回は Global CDN を選択します。
とりあえず、今回はここまででビルドしてみましょう。Build your app を選択します。
次に、書き出すプラットフォームを選択します。今回は Android で!ちなみに Android は Android Studio 1.3.2、iOS は Xcode 7.0 以上で動作するようになっているので注意してください。
これからの作業のガイドが下に表示されているので、ビルド中に眺めてみると良いと思います。完了すると Download Android source package が表示されます。
Zip ファイルを解凍してみましょう。こんな感じの構成です。ソースコードのライセンス、それから簡単な使いかたが書いてある README フォルダが切られています。READ ME は HTML 形式のドキュメントです。
Android Studio でプロジェクトを開いてみます。パッケージ構成は下図のような感じです。amazonaws.mobile
配下に Mobile Hub で設定した機能で使うクラスがあります。mysampleapp
パッケージの中はサンプルアプリとして動作する Activity や Fragment が入っています。
ビルドしてみましょう。アプリが立ち上がりました!初期画面は、コンソールで選択した機能の一覧が表示されます。まずは User Sign-in を選びます。
User Sign-in の機能の概要が表示されます。このように、一覧から機能を選択すると概要が見れるとともに機能を使用することができます。一番下の Demo User Identity をクリック。
Optional としたので、特にサインインしていない場合は Guest user になります。Cognito の Identity Id も表示されていますね。
Facebook などのプロバイダでシングルサインオンしたい場合は、ドロワーから SIGN IN を選択します。
シュールな画面が出ますw
Facebook のログインが求められるので、ログインして承認します。
ログイン後は一旦初期画面に戻ります。改めて Demo User Identity の画面に訪れると、Facebook ユーザーとしてログインできていることが確認できます。
次に、App Content Delivery を試しましょう。一覧から選択し、Demo Content Delivery をクリック。
コンテンツ一覧が表示されます。
なお、今回作った AWS の各リソースへのアクセスは、コンソールから確認できます!
まとめ
Mobile SDK を使ってどのように実装すると実現できるのか、というところまでクラスとして提供されているので、モバイルアプリ開発者はこれまで以上にアプリに集中できるようになったのではないでしょうか。用途が少し異なる場合は自分で修正すれば良いです。
コンソールもポップに作りこまれているところや、使うサービスの名前をモバイルアプリ開発者に馴染み深い言葉に置き換えたりと、モバイルアプリ開発者を配慮した、おもてなしサービスになっています。みなさんでぜひ使いこなしましょう!
Developers.IO では、今後も Mobile Hub についての記事を公開していく予定です!